/**
 * Created by dashan on 2017/3/20.
 */



var mongoose = require('mongoose');

mongoose.Promise = Promise;

// mongoose.connect('mongodb://dev1.bjvca.com:27017/test2');
mongoose.connect('mongodb://101.201.211.142:27017/test2');

var UserSchema = new  mongoose.Schema({
    nickname:{
        type:String,
        default:'new user',
        required: true
    },
    regTime:{
        type:Date,
        default:Date.now,
    },
    age:{
        type:Number,
        required: true,
        default:30,
        set:function(parm){
            if(parm<80) return parm+10;
            return parm;
        }
    },
    name:{
        type:String,
        default:'china',
        select:true
    }
});

// UserSchema.path('age').required(true,'sdfsfsfs');


// UserSchema.path('age').validate(function(val){
//
//     console.log(typeof val );
//     if(typeof val === 'Number'){
//         return true;
//     }
//     return false;
// }, 'validation of `{PATH}` failed with value `{VALUE}` and `{TYPE}`' );




var User = mongoose.model('User',UserSchema);
var user = new User({nickname:'wewweweew',age:100});

/////////索引测试：

// user.save(function(err,doc){
//     console.log(err);
//     console.log(doc);
//     console.log("==============save ===============");
// })

// User.create({nickname:'wewweweew',age:39},function(err,doc){
//     console.log(err);
//     console.log(doc);
//     console.log("==============save ===============");
// })

// User.find({},['-_id','-name'], function (err, docs) {
//     // docs 此时只包含文档的部分键值
//
//     console.log(err);
//     console.log(docs);
// })



// User.$where('this.age === 49').exec(function(err,doc){
//     console.log(err);
//     console.log("==============================");
//     console.log(doc);
// })


// User.$where('this.age === 49').all('name','china1').exec(function(err,doc){
//     console.log(err);
//     console.log("==============================");
//     console.log(doc);
// })

// User.$where('this.age === 49').and([{ age: 49 }, { name: 'china1' }]).exec(function(err,doc){
//     console.log(err);
//     console.log("==============================");
//     console.log(doc);
// })

var lowerLeft = [40,0]
var upperRight= [40,0]
var area = { center: [50, 50], radius: 10, unique: true }

User.$where('this.age').circle(area).exec(function(err,doc){

    console.log(err);
    console.log(doc);

})